package com.manshutingyu.system.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.manshutingyu.common.core.dto.LoginUserDTO;
import com.manshutingyu.common.core.dto.R;
import com.manshutingyu.system.domain.SysUser;

/**
 * @Author：yinyuxia
 * @Date：2025/3/29 16:44
 */
public interface SysUserService extends IService<SysUser> {
    IPage<SysUser> getPage(Page<SysUser> page, SysUser sysUser);
    /**
     * 根据用户ID获取用户信息
     *
     * @param id
     * @return
     */
    SysUser getUserById(Long id);

    /**
     * 创建用户
     *
     * @param user
     * @return
     */
    Boolean createUser(SysUser user);

    /**
     * 更新用户
     *
     * @param user
     * @return
     */
    Boolean updateUser(SysUser user);

    /**
     * 批量删除用户
     *
     * @param ids
     * @return
     */
    Boolean deleteByIds(Long[] ids);

    /**
     * 更新用户密码
     *
     * @param userId   用户ID
     * @param password 密码
     * @return
     */
    Boolean updatePasswordByUserId(Long userId, String password);

    /**
     * 根据用户名获取用户信息
     * @param userName
     * @return
     */
    R<LoginUserDTO> selectByUsername(String userName);

}
